package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 规格分类对象 specification_category
 *
 * @author ruoyi
 * @date 2025-05-24
 */
public class SpecificationCategory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 规格分类唯一标识符(主键) */
    private Long id;

    /** 规格分类系统编码(业务自定义ID，如"SPEC001") */
    @Excel(name = "规格分类系统编码")
    private String specCategoryId;

    /** 规格分类名称(如"颜色分类"、"尺寸分类") */
    @Excel(name = "规格分类名称")
    private String specCategoryName;

    /** 规格分类状态 */
    @Excel(name = "规格分类状态")
    private String status;

    /** 规格分类描述信息(可选) */
    @Excel(name = "规格分类描述信息(可选)")
    private String description;

    /** 规格分类显示排序(数值越小越靠前) */
    @Excel(name = "规格分类显示排序(数值越小越靠前)")
    private Long sortOrder;

    /** 是否系统内置分类(0:用户自定义,1:系统内置) */
    @Excel(name = "是否系统内置分类(0:用户自定义,1:系统内置)")
    private Integer isSystem;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setSpecCategoryId(String specCategoryId)
    {
        this.specCategoryId = specCategoryId;
    }

    public String getSpecCategoryId()
    {
        return specCategoryId;
    }

    public void setSpecCategoryName(String specCategoryName)
    {
        this.specCategoryName = specCategoryName;
    }

    public String getSpecCategoryName()
    {
        return specCategoryName;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }

    public void setSortOrder(Long sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder()
    {
        return sortOrder;
    }

    public void setIsSystem(Integer isSystem)
    {
        this.isSystem = isSystem;
    }

    public Integer getIsSystem()
    {
        return isSystem;
    }

    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("specCategoryId", getSpecCategoryId())
                .append("specCategoryName", getSpecCategoryName())
                .append("status", getStatus())
                .append("description", getDescription())
                .append("sortOrder", getSortOrder())
                .append("isSystem", getIsSystem())
                .append("addTime", getAddTime())
                .append("updateTime", getUpdateTime())
                .append("phone", getPhone())
                .toString();
    }
}
